CODE 88. Jump Game II

版权声明:本文为博主原创文章,转载请注明出处,谢谢!

版权声明:本文为博主原创文章,转载请注明出处:http://blog.jerkybible.com/2013/10/20/2013-10-20-CODE 88 Jump Game II/

访问原文「CODE 88. Jump Game II

Given an array of non-negative integers, you are initially positioned at the first index of the array.
Each element in the array represents your maximum jump length at that position.
Your goal is to reach the last index in the minimum number of jumps.
For example:
Given array A = [2,3,1,1,4]
The minimum number of jumps to reach the last index is 2.
(Jump 1 step from index 0 to 1, then 3 steps
to the last index.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public int jump(int[] A) {
// Start typing your Java solution below
// DO NOT write main() function
if (null == A || A.length <= 1)
return 0;
int maxIndex = 0;
int i = 0;
int length = A.length;
int step = 0;
while (i < length && i <= maxIndex) {
int tmpMaxIndex = maxIndex;
while (i <= tmpMaxIndex) {
if (i + A[i] > maxIndex)
maxIndex = i + A[i];
++i;
}
++step;
if (maxIndex >= length - 1)
return step;
}
return -1;
}
Jerky Lu wechat
欢迎加入微信公众号